#ifndef __RC6TESTVECTORSSET2__
#define __RC6TESTVECTORSSET2__

#include "../plainkeycipher.h"

// Test vector from <https://www.cosic.esat.kuleuven.be/nessie/testvectors/bc/rc6/Rc6-192-128.verified.test-vectors>

static const std::vector <PlainKeyCipher> RC6_TEST_VECTORS_SET_2 = {
    std::make_tuple("80000000000000000000000000000000", "000000000000000000000000000000000000000000000000", "A600B72AAC4DFB5271DC45F563FAE428"),
    std::make_tuple("40000000000000000000000000000000", "000000000000000000000000000000000000000000000000", "A7B1D7CBFBAB741B41744FF9100529B4"),
    std::make_tuple("20000000000000000000000000000000", "000000000000000000000000000000000000000000000000", "D9AAAA866BAB0D68AFFC39CF9888B8C6"),
    std::make_tuple("10000000000000000000000000000000", "000000000000000000000000000000000000000000000000", "32B0048A204036E1B45DE285E87E57B8"),
    std::make_tuple("08000000000000000000000000000000", "000000000000000000000000000000000000000000000000", "7267FEE7E04ACEB47C8FCC4096720484"),
    std::make_tuple("04000000000000000000000000000000", "000000000000000000000000000000000000000000000000", "FF0C22F756C2F5EBDC6610F085D74383"),
    std::make_tuple("02000000000000000000000000000000", "000000000000000000000000000000000000000000000000", "A6264FBCB2926C6181AA6F5551244B2F"),
    std::make_tuple("01000000000000000000000000000000", "000000000000000000000000000000000000000000000000", "D3A5B8FB3CBAA98419D394BB4C66B9D7"),
    std::make_tuple("00800000000000000000000000000000", "000000000000000000000000000000000000000000000000", "F9FE5D1BA274021F041023CD9AC20399"),
    std::make_tuple("00400000000000000000000000000000", "000000000000000000000000000000000000000000000000", "7307F7DEBBEFD911B0B590A0667E093D"),
    std::make_tuple("00200000000000000000000000000000", "000000000000000000000000000000000000000000000000", "4D8A3B987A1E66E72B3FFA520DDD57BB"),
    std::make_tuple("00100000000000000000000000000000", "000000000000000000000000000000000000000000000000", "0F444C0A7334947DBCB43D72F897E72F"),
    std::make_tuple("00080000000000000000000000000000", "000000000000000000000000000000000000000000000000", "448F29B848D7CFDA617D8A64AC518B0C"),
    std::make_tuple("00040000000000000000000000000000", "000000000000000000000000000000000000000000000000", "261B4EA7CD31F46C4FBF684395ED7FB8"),
    std::make_tuple("00020000000000000000000000000000", "000000000000000000000000000000000000000000000000", "25FA5AD347C57047749B15B97FE8ABE6"),
    std::make_tuple("00010000000000000000000000000000", "000000000000000000000000000000000000000000000000", "F7E13200EBA3F6E8E9F37B092B907961"),
    std::make_tuple("00008000000000000000000000000000", "000000000000000000000000000000000000000000000000", "9C934B121791B35AFE509A0D5A04BBF2"),
    std::make_tuple("00004000000000000000000000000000", "000000000000000000000000000000000000000000000000", "3C0F9D40F9608091CDFD831DD6D215EA"),
    std::make_tuple("00002000000000000000000000000000", "000000000000000000000000000000000000000000000000", "97D7D2AF2F635D43E536E0A5AA18C61E"),
    std::make_tuple("00001000000000000000000000000000", "000000000000000000000000000000000000000000000000", "1E41EB291C07ECF0908D49A9CBFAB57E"),
    std::make_tuple("00000800000000000000000000000000", "000000000000000000000000000000000000000000000000", "C9CCEB56AF06C494582F2C966EEEFD07"),
    std::make_tuple("00000400000000000000000000000000", "000000000000000000000000000000000000000000000000", "4B21E0D2942CCD21501F698ACA866BD0"),
    std::make_tuple("00000200000000000000000000000000", "000000000000000000000000000000000000000000000000", "BA0DC6ACC50486AD389EF65B5677DE19"),
    std::make_tuple("00000100000000000000000000000000", "000000000000000000000000000000000000000000000000", "EB80DE49F3D5605D9C3CE426EC80FAFD"),
    std::make_tuple("00000080000000000000000000000000", "000000000000000000000000000000000000000000000000", "D6984153BF67512062F876966BD190F3"),
    std::make_tuple("00000040000000000000000000000000", "000000000000000000000000000000000000000000000000", "AC789910F3458D59C5090BE936C6682A"),
    std::make_tuple("00000020000000000000000000000000", "000000000000000000000000000000000000000000000000", "5D64A268407F791DBDAFD0E5C6399A64"),
    std::make_tuple("00000010000000000000000000000000", "000000000000000000000000000000000000000000000000", "2B4F25AC69BA3AD941BBD4E1ECC75E79"),
    std::make_tuple("00000008000000000000000000000000", "000000000000000000000000000000000000000000000000", "FB943544937F3A34DFA0548C0257CE53"),
    std::make_tuple("00000004000000000000000000000000", "000000000000000000000000000000000000000000000000", "125A04339B61FA79FA3757576EC4FAA1"),
    std::make_tuple("00000002000000000000000000000000", "000000000000000000000000000000000000000000000000", "160B88277AC4C81603BD37ECA4FD73DC"),
    std::make_tuple("00000001000000000000000000000000", "000000000000000000000000000000000000000000000000", "4D65B09355F893E26C85E85955767604"),
    std::make_tuple("00000000800000000000000000000000", "000000000000000000000000000000000000000000000000", "1EE56A4AB4811DC3B17401CBAA8F5A15"),
    std::make_tuple("00000000400000000000000000000000", "000000000000000000000000000000000000000000000000", "6214728772DBD2CDA3124BA8BA2ABF38"),
    std::make_tuple("00000000200000000000000000000000", "000000000000000000000000000000000000000000000000", "328B60EDD6FD150934A30100286E07B5"),
    std::make_tuple("00000000100000000000000000000000", "000000000000000000000000000000000000000000000000", "2C976B076409056EA7489C7658BB34B9"),
    std::make_tuple("00000000080000000000000000000000", "000000000000000000000000000000000000000000000000", "D592EBBA861BBCC369DA99F832B0A773"),
    std::make_tuple("00000000040000000000000000000000", "000000000000000000000000000000000000000000000000", "E6F48FB373724153FFFC51758527C6E8"),
    std::make_tuple("00000000020000000000000000000000", "000000000000000000000000000000000000000000000000", "6C397B0BF5992740BD6A787F16BD511C"),
    std::make_tuple("00000000010000000000000000000000", "000000000000000000000000000000000000000000000000", "2CA57FEE77351E747799C8855780C63F"),
    std::make_tuple("00000000008000000000000000000000", "000000000000000000000000000000000000000000000000", "194C42AA377D361BBDF283693171FFDB"),
    std::make_tuple("00000000004000000000000000000000", "000000000000000000000000000000000000000000000000", "61832D4C637CCE219D2FBB36ACF7992E"),
    std::make_tuple("00000000002000000000000000000000", "000000000000000000000000000000000000000000000000", "945D2B20B9FD48F1961D04DBBA1708B5"),
    std::make_tuple("00000000001000000000000000000000", "000000000000000000000000000000000000000000000000", "EC152810AA2771AA5E871949BF12B6F1"),
    std::make_tuple("00000000000800000000000000000000", "000000000000000000000000000000000000000000000000", "E87712941A7EE80510D53509311196B7"),
    std::make_tuple("00000000000400000000000000000000", "000000000000000000000000000000000000000000000000", "776820A0500F2D90D4DF36F50C395674"),
    std::make_tuple("00000000000200000000000000000000", "000000000000000000000000000000000000000000000000", "64958DB0758C1E80FCFCBB9FC6195E6D"),
    std::make_tuple("00000000000100000000000000000000", "000000000000000000000000000000000000000000000000", "37F27D1D918D463B0668A470DE898AB9"),
    std::make_tuple("00000000000080000000000000000000", "000000000000000000000000000000000000000000000000", "AA71549A4B290289C7060D76FF5A20BC"),
    std::make_tuple("00000000000040000000000000000000", "000000000000000000000000000000000000000000000000", "95EF0C6213EB7CF56186D76BFA617174"),
    std::make_tuple("00000000000020000000000000000000", "000000000000000000000000000000000000000000000000", "2F6A4BD794419F9F34CFD0FED825B6CD"),
    std::make_tuple("00000000000010000000000000000000", "000000000000000000000000000000000000000000000000", "882C2B9E19854367479F0EE25D086F4E"),
    std::make_tuple("00000000000008000000000000000000", "000000000000000000000000000000000000000000000000", "D246FD18C625C1846741544EC4CE60B6"),
    std::make_tuple("00000000000004000000000000000000", "000000000000000000000000000000000000000000000000", "9EAF5A8C5673BE9F488D5C7B6521BD8C"),
    std::make_tuple("00000000000002000000000000000000", "000000000000000000000000000000000000000000000000", "9E7A685F738CB391FAE6ED184087630C"),
    std::make_tuple("00000000000001000000000000000000", "000000000000000000000000000000000000000000000000", "5E0AC39E49825B2424C7263AA8824232"),
    std::make_tuple("00000000000000800000000000000000", "000000000000000000000000000000000000000000000000", "0B06C4805E20BC990E601E5610A1BEAD"),
    std::make_tuple("00000000000000400000000000000000", "000000000000000000000000000000000000000000000000", "78A99615E809CA88F6F6C6E9AFA532FF"),
    std::make_tuple("00000000000000200000000000000000", "000000000000000000000000000000000000000000000000", "9ACF5CC740AA37663000C89C5F8EE8D8"),
    std::make_tuple("00000000000000100000000000000000", "000000000000000000000000000000000000000000000000", "35D76EBA8F59CA6A78FC2942AC5F7F43"),
    std::make_tuple("00000000000000080000000000000000", "000000000000000000000000000000000000000000000000", "39AD4C9AE2B4D46EF693303B54B53546"),
    std::make_tuple("00000000000000040000000000000000", "000000000000000000000000000000000000000000000000", "EA0833009C96171EAA2BFDEF50DEE473"),
    std::make_tuple("00000000000000020000000000000000", "000000000000000000000000000000000000000000000000", "868A8E86F525E50D3FF33A094A3AE119"),
    std::make_tuple("00000000000000010000000000000000", "000000000000000000000000000000000000000000000000", "3DBB9A366A2A3A660F027191B3613B95"),
    std::make_tuple("00000000000000008000000000000000", "000000000000000000000000000000000000000000000000", "E4CDE1FC6D811CDC25328CDAC8D0AD2B"),
    std::make_tuple("00000000000000004000000000000000", "000000000000000000000000000000000000000000000000", "332010FB6E39F82F00DC1FF6B6F8CFE6"),
    std::make_tuple("00000000000000002000000000000000", "000000000000000000000000000000000000000000000000", "00293BFE5BB3DA2D3652D4E06EE361B2"),
    std::make_tuple("00000000000000001000000000000000", "000000000000000000000000000000000000000000000000", "9BC99B26E0114669EFE218BF014A15AA"),
    std::make_tuple("00000000000000000800000000000000", "000000000000000000000000000000000000000000000000", "43C358B6DAB480D0EAEB96DCE57E5B85"),
    std::make_tuple("00000000000000000400000000000000", "000000000000000000000000000000000000000000000000", "9842333B8E9FCEC35A8779CCCA7D025A"),
    std::make_tuple("00000000000000000200000000000000", "000000000000000000000000000000000000000000000000", "5A47529DB0D103DCC34D2ADD3A19C53F"),
    std::make_tuple("00000000000000000100000000000000", "000000000000000000000000000000000000000000000000", "8F705A89D4C6EE7E27A14792EC49B652"),
    std::make_tuple("00000000000000000080000000000000", "000000000000000000000000000000000000000000000000", "6D4B9905F05096B23D6C13565588F012"),
    std::make_tuple("00000000000000000040000000000000", "000000000000000000000000000000000000000000000000", "23DDD34E8598F013C0559B3312341DBA"),
    std::make_tuple("00000000000000000020000000000000", "000000000000000000000000000000000000000000000000", "7B5AE9F49ACC68F2FEECB2823C3868A9"),
    std::make_tuple("00000000000000000010000000000000", "000000000000000000000000000000000000000000000000", "09F8EED21EB8EE33C02B90637EF24E6B"),
    std::make_tuple("00000000000000000008000000000000", "000000000000000000000000000000000000000000000000", "00A2E8DB0417F61EAABAD6E9BF13E4BC"),
    std::make_tuple("00000000000000000004000000000000", "000000000000000000000000000000000000000000000000", "CF5DB5AA31599EEDB5A3143E08D23672"),
    std::make_tuple("00000000000000000002000000000000", "000000000000000000000000000000000000000000000000", "E09B69B9C0E3365C0EDA54AB3310A5AC"),
    std::make_tuple("00000000000000000001000000000000", "000000000000000000000000000000000000000000000000", "33650F826366AEC9A09D7D038708737D"),
    std::make_tuple("00000000000000000000800000000000", "000000000000000000000000000000000000000000000000", "E84A1EE9A00BA66952B24A6E6AD0C002"),
    std::make_tuple("00000000000000000000400000000000", "000000000000000000000000000000000000000000000000", "11B1E0969380A0A24E876D6470872796"),
    std::make_tuple("00000000000000000000200000000000", "000000000000000000000000000000000000000000000000", "D88FCA95FA29C35FDCD9467715F102D7"),
    std::make_tuple("00000000000000000000100000000000", "000000000000000000000000000000000000000000000000", "A78B86EF0E6959C08F70C810AF8E99CD"),
    std::make_tuple("00000000000000000000080000000000", "000000000000000000000000000000000000000000000000", "A83E4F27E34360C8033CBC304EBBDF0C"),
    std::make_tuple("00000000000000000000040000000000", "000000000000000000000000000000000000000000000000", "0AA5B4F05A0B42358ABF19F6E55F66D2"),
    std::make_tuple("00000000000000000000020000000000", "000000000000000000000000000000000000000000000000", "5C2AC2588982E3CCE99994101FC0A21A"),
    std::make_tuple("00000000000000000000010000000000", "000000000000000000000000000000000000000000000000", "60A3E107674A0B7F7B931C6EC35BC747"),
    std::make_tuple("00000000000000000000008000000000", "000000000000000000000000000000000000000000000000", "123D266844DFFF63DA93C4D806325660"),
    std::make_tuple("00000000000000000000004000000000", "000000000000000000000000000000000000000000000000", "08170908422DCB46EEB046F3D7E4AE3A"),
    std::make_tuple("00000000000000000000002000000000", "000000000000000000000000000000000000000000000000", "13754D93DC4807807A9535388553FB47"),
    std::make_tuple("00000000000000000000001000000000", "000000000000000000000000000000000000000000000000", "DFA9741DD3883E39FED5716A706A65EC"),
    std::make_tuple("00000000000000000000000800000000", "000000000000000000000000000000000000000000000000", "CA5C3DCA7BE84DCBE33BF5238EA3F4B0"),
    std::make_tuple("00000000000000000000000400000000", "000000000000000000000000000000000000000000000000", "6EBEED89B297D6918FA5CEAB7A0E985E"),
    std::make_tuple("00000000000000000000000200000000", "000000000000000000000000000000000000000000000000", "3F79AB2119DEBCC44675E340C25B7D85"),
    std::make_tuple("00000000000000000000000100000000", "000000000000000000000000000000000000000000000000", "A7739DE45E6051EBBDC2F0365859BEE0"),
    std::make_tuple("00000000000000000000000080000000", "000000000000000000000000000000000000000000000000", "CEA0C2B3C653B7553605BACCFDD62DF8"),
    std::make_tuple("00000000000000000000000040000000", "000000000000000000000000000000000000000000000000", "7F9742EEE96193CA8981739712F73045"),
    std::make_tuple("00000000000000000000000020000000", "000000000000000000000000000000000000000000000000", "F0103101F4EC92C0CB48145FF34CF51F"),
    std::make_tuple("00000000000000000000000010000000", "000000000000000000000000000000000000000000000000", "55A8A3B02951558F343C160E7F86288D"),
    std::make_tuple("00000000000000000000000008000000", "000000000000000000000000000000000000000000000000", "3F9206DB4F3083E8F6EEC33CFE2C1BBF"),
    std::make_tuple("00000000000000000000000004000000", "000000000000000000000000000000000000000000000000", "F012723B2F08A28A5E24BB959FA5EFDD"),
    std::make_tuple("00000000000000000000000002000000", "000000000000000000000000000000000000000000000000", "1A28919DB3AB4A53D5A0E1E566982DF7"),
    std::make_tuple("00000000000000000000000001000000", "000000000000000000000000000000000000000000000000", "E17C960B43B7E926C83DF749C6A5532F"),
    std::make_tuple("00000000000000000000000000800000", "000000000000000000000000000000000000000000000000", "16DF63CFB77D31CC782C0ED3190136AD"),
    std::make_tuple("00000000000000000000000000400000", "000000000000000000000000000000000000000000000000", "1643D697AC4075EC6FE609472FA4C678"),
    std::make_tuple("00000000000000000000000000200000", "000000000000000000000000000000000000000000000000", "AD76BF6119FFC36369980D3466CF6570"),
    std::make_tuple("00000000000000000000000000100000", "000000000000000000000000000000000000000000000000", "554E53F64D99F89A5BAA7FD5B70E0BD1"),
    std::make_tuple("00000000000000000000000000080000", "000000000000000000000000000000000000000000000000", "BDC10FF10FA5E3A41B096C870666DECB"),
    std::make_tuple("00000000000000000000000000040000", "000000000000000000000000000000000000000000000000", "6B12E2408646228502972EA7580B05E1"),
    std::make_tuple("00000000000000000000000000020000", "000000000000000000000000000000000000000000000000", "B9583810806D5A491B2F69FFF2D2A327"),
    std::make_tuple("00000000000000000000000000010000", "000000000000000000000000000000000000000000000000", "E8E9F4A50B834DDEF307503AECD8A3BC"),
    std::make_tuple("00000000000000000000000000008000", "000000000000000000000000000000000000000000000000", "D7F4A1C7F7954E789BD61007866FFA80"),
    std::make_tuple("00000000000000000000000000004000", "000000000000000000000000000000000000000000000000", "953D7D0FD6DDD25CA25FA23C9322339F"),
    std::make_tuple("00000000000000000000000000002000", "000000000000000000000000000000000000000000000000", "CD4E607B4324CEC7372DE19CEA5AEF78"),
    std::make_tuple("00000000000000000000000000001000", "000000000000000000000000000000000000000000000000", "9B5C29709E0F0E586383EAB29E884009"),
    std::make_tuple("00000000000000000000000000000800", "000000000000000000000000000000000000000000000000", "28B822B70E7430E44182C2BBAED4D88D"),
    std::make_tuple("00000000000000000000000000000400", "000000000000000000000000000000000000000000000000", "D2325AF7325642138C355BC4ACAF938F"),
    std::make_tuple("00000000000000000000000000000200", "000000000000000000000000000000000000000000000000", "F4D1A000EC3A370B5A6386355CEE010C"),
    std::make_tuple("00000000000000000000000000000100", "000000000000000000000000000000000000000000000000", "F9D198D9FDC650AFA72320AD4826506B"),
    std::make_tuple("00000000000000000000000000000080", "000000000000000000000000000000000000000000000000", "5024595BEB4DAA2239D495BB023757EA"),
    std::make_tuple("00000000000000000000000000000040", "000000000000000000000000000000000000000000000000", "8A6CDA8F518CA2FB0A860C5567C60104"),
    std::make_tuple("00000000000000000000000000000020", "000000000000000000000000000000000000000000000000", "D6D90C40B07164436453E8312A633109"),
    std::make_tuple("00000000000000000000000000000010", "000000000000000000000000000000000000000000000000", "3E73330AE10DF1B8B81D9CA72221E192"),
    std::make_tuple("00000000000000000000000000000008", "000000000000000000000000000000000000000000000000", "5029AE60BF118AA69E47B235C3551490"),
    std::make_tuple("00000000000000000000000000000004", "000000000000000000000000000000000000000000000000", "7299F32614EA0BD98D2375CA643EC47F"),
    std::make_tuple("00000000000000000000000000000002", "000000000000000000000000000000000000000000000000", "DF4A7B804A4D3A13113529C509F8BAF6"),
    std::make_tuple("00000000000000000000000000000001", "000000000000000000000000000000000000000000000000", "3EFC3791618B7D832BFA6AE030C09122"),
};

#endif // __RC6TESTVECTORSSET2__
